package edu.co.uniandes.taller14.ejb;

import java.rmi.RemoteException;
import java.util.Collection;

import javax.ejb.CreateException;
import javax.ejb.EJBException;
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
import javax.ejb.FinderException;
import javax.ejb.RemoveException;

import edu.co.uniandes.taller14.mundo.DirectorioPK;

public abstract class DirectorioEJB implements EntityBean {
	
	protected EntityContext ctx;

	public DirectorioEJB() {
	}
	
	@Override
	public void ejbActivate() throws EJBException, RemoteException {
		// TODO Auto-generated method stub

	}

	@Override
	public void ejbLoad() throws EJBException, RemoteException {
		// TODO Auto-generated method stub

	}

	@Override
	public void ejbPassivate() throws EJBException, RemoteException {
		// TODO Auto-generated method stub

	}

	@Override
	public void ejbRemove() throws RemoveException, EJBException,
			RemoteException {
		// TODO Auto-generated method stub

	}

	@Override
	public void ejbStore() throws EJBException, RemoteException {
		// TODO Auto-generated method stub

	}

	@Override
	public void setEntityContext(EntityContext arg0) throws EJBException,
			RemoteException {
		
		this.ctx = ctx;

	}

	@Override
	public void unsetEntityContext() throws EJBException, RemoteException {
		this.ctx = null;
	}
	
	public DirectorioPK ejbCreate(String directorioID, String nombre, String departamento, String oficina, String extension)
    	throws CreateException {
			 setDirectorioID(directorioID);
			 setNombre(nombre);
			 setDepartamento(departamento);
			 setOficina(oficina);
			 setExtension(extension);
			 return new DirectorioPK(directorioID);
	}
	
	public void ejbPostCreate(String directorioID, String nombre, String departamento, String oficina, String extension)
	{
		
	}
    

	public abstract void setExtension(String extension) ;
	public abstract void setOficina(String oficina)  ;
	public abstract void setDepartamento(String departamento) ;
	public abstract void setNombre(String nombre) ;
	public abstract void setDirectorioID(String directorioID) ;
	
	public abstract String getExtension() ;
	public abstract String getOficina();
	public abstract String getDepartamento() ;
	public abstract String getNombre() ;
	public abstract String getDirectorioID();
	
	public Directorio findEmpleado(String nombre) throws FinderException
	{
		return null;
	}
	public Collection findEmpleados() throws FinderException
	{
		return null;
	}

		

}
